A maximum likelihood (ML) multiple input multiple output (MIMO) receiver determines the most likely symbols of a received MIMO signal by jointly detecting the different streams of the MIMO signal. A ML MIMO receiver can theoretically receive data at closer to optimal performance for a given channel condition than can a linear receiver, but it is easier to predict the performance of a linear receiver than it is to predict the performance of a ML MIMO receiver. Predicting the performance of a receiver is important because doing so enables the transmitter to select a modulation and coding scheme (MCS) suitable for the channel's state at the receiver. Predicting less noise and interference than is actually present at the receiver causes the transmitter to transmit signals that the receiver cannot handle. And predicting more noise and interference than is actually present at the receiver causes the transmitter to transmit signals that underutilize the channel. Both result in wasted bandwidth.
Predicting the performance of a ML MIMO receiver is difficult because it is computationally intensive. A linear receiver may be used to approximate the ML MIMO receiver performance, but this fails to fully exploit the capabilities of a ML MIMO receiver. Other methods, such as least likelihood ratio (LLR) based mean mutual information per bit (MMIB) requires that data be transmitted to the ML MIMO receiver, which is not practical. Another method, LLR-based MMIB approximation is complex, requires empirically determined parameters, and relies on certain assumptions, such as an assumption that each stream will be equally modulated. Another method, which relies on a weighted average of minimum mean-square error (MMSE) and successive interference cancellation (SIC) signal-to-noise ratio (SNR), requires tuning of the weights, which may be dependent on the channel and the MCS, which increases the complexity. The weighted average also has questionable accuracy if certain assumptions do not hold.